package com.wb.fw;

import android.util.Log;

import com.wiyun.engine.sound.AudioManager;

public class SoundManager {
	private static boolean sSoundOpen = false;
	public static boolean isSoundOpen() {
		return sSoundOpen;
	}
	
	private static int sEffectClick;

//	public static int[] slevelMusic = new int[]{
//		R.raw.m_level,
//		R.raw.m_level,
//		R.raw.m_level,
//		R.raw.m_level,
//		R.raw.m_level,
//		R.raw.m_level,
//	};
	
	public static void loadEffect(int[] effects) {
		for(int i=0;i<effects.length;i++) {
			AudioManager.preloadEffect(effects[i]);
		}
//		AudioManager.preloadEffect(R.raw.ebeep);
//		AudioManager.preloadEffect(R.raw.ebeep_long);
//		AudioManager.preloadEffect(R.raw.ecatched);
//		AudioManager.preloadEffect(R.raw.eclick);
//		AudioManager.preloadEffect(R.raw.eclock);
//		AudioManager.preloadEffect(R.raw.ecombo);
//		AudioManager.preloadEffect(R.raw.ehazard);
//		AudioManager.preloadEffect(R.raw.ehit);
//		AudioManager.preloadEffect(R.raw.eject_cow);
//		AudioManager.preloadEffect(R.raw.eject_farmer);
//		AudioManager.preloadEffect(R.raw.eject_pig);
//		AudioManager.preloadEffect(R.raw.eject_sheep);
//		AudioManager.preloadEffect(R.raw.elaser);
//		AudioManager.preloadEffect(R.raw.eobj_done);
//		AudioManager.preloadEffect(R.raw.epoof);
//		AudioManager.preloadEffect(R.raw.epowerup);
//		AudioManager.preloadEffect(R.raw.eshot);
	}
//	/**
//	 * 开头的3,2
//	 */
//	public static final int IDX_BEEP = 0;
//	/**
//	 * 开头的1
//	 */
//	public static final int IDX_BEEP_LONG = 1;
//	
//	public static final int IDX_BEEP_LONG = 2;
//	
//	public static final int[] seffect = new int[]{
//		R.raw.ebeep,
//		R.raw.ebeep_long,
//		R.raw.ecatched,
//		R.raw.eclick,
//		R.raw.eclock,
//		R.raw.ecombo
//	};
//	private static int mmusicPlaying = -1;
//	private static int mmusicTryPlay = -1;
	/**
	 * 特效播放，直接播放raw
	 * @param res
	 */
	public static void playEffect(int res) {
//		if (sSoundOpen) {
			AudioManager.playEffect(res);
//		}
	}
	
	/**
	 * 音乐播放，播放索引0-5，6关。
	 * @param idx
	 */
	public static void playMusic(int raw) {
//		mmusicTryPlay = idx;
//		if (sSoundOpen) {
//			mmusicPlaying = idx;
//		Log.d("xltest", "mute="+AudioManager.isMuted());
		AudioManager.stopBackgroundMusic();
		AudioManager.playBackgroundMusic(raw, AudioManager.FORMAT_OGG, -1);
//		}
	}
	
//	public static void stopMusic() {
//		mmusicPlaying = -1;
//		mmusicTryPlay = -1;
//		AudioManager.stopBackgroundMusic();
//	}
	
	public static void pauseMusic() {
//		if (sSoundOpen) {
		if (AudioManager.isBackgroundPlaying())
			AudioManager.pauseBackgroundMusic();
//		}
	}
	
	public static void resumeMusic() {
//		if (sSoundOpen) {
//			if (mmusicPlaying >= 0) {
		if (AudioManager.isBackgroundMusicPaused())
				AudioManager.resumeBackgroundMusic();
//			} else {
//				if (mmusicTryPlay >= 0) {
//					playMusic(mmusicTryPlay);
//				}
//			}
//		}
	}
	public static void setMenuClickEffect(int raw) {
		sEffectClick = raw;
	}
	/**
	 *  按键声音播放
	 */
	public static void clickMenuItem() {
		if (sEffectClick > 0)
			SoundManager.playEffect(sEffectClick);
		else 
			Log.d(SoundManager.class.getName(), "clickMenuItem ,sEffectClick="+sEffectClick);
	}

	/**
	 * 开关声音，刚加载的时候需要执行一次。
	 * @param b
	 */
	public static void enable(boolean b) {
		SoundManager.sSoundOpen = b;
//		AudioManager.setMute(!b);
		if (SoundManager.sSoundOpen) {
			AudioManager.setBackgroundVolume(1.0f);
			AudioManager.setEffectVolume(1.0f);
		} else {
			AudioManager.setBackgroundVolume(0);
			AudioManager.setEffectVolume(0);
		}
		resumeMusic();
	}
}
